package com.多线程.Timer;

import java.util.Timer;
import java.util.TimerTask;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.ScheduledThreadPoolExecutor;
import java.util.concurrent.TimeUnit;

/**
 * ScheduleExecutorsService定时器的了解和使用：ScheduleTimer基于线程池
 */

public class ScheduleTimerDemo1 {
    public static void main(String[] args) {
         //1.创建ScheduleExecutorsService线程池，做定时器
        //使用Executors工具类创建一个线程池
        ScheduledExecutorService pool= Executors.newScheduledThreadPool(3);

        //2.开启定时任务
        pool.scheduleAtFixedRate(new TimerTask() {
            /**
             * Runnable command,(任务)
             * long initialDelay,（任务开始执行的时间）
             *long period,（执行周期）
             *TimeUnit unit（执行周期的时间单位）
             */
            @Override
            public void run() {
                System.out.println(Thread.currentThread().getName()+"执行了一次");
            }
        },0,2, TimeUnit.SECONDS);
    }
}
